292. Nim Game
1. Question
You are playing the following Nim Game with your friend:
- Initially, there is a heap of stones on the table.
- You and your friend will alternate taking turns, and
you go first
. On each turn, the person whose turn it is will remove 1 to 3 stones from the heap.
The one who removes the last stone is the winner.
Given n
, the number of stones in the heap, return true
if you can win the game assuming both you and your friend play optimally, otherwise return false
.
2. Examples
Example 1:
Input: n = 4
Output: false
Explanation: These are the possible outcomes:
1. You remove 1 stone. Your friend removes 3 stones, including the last stone. Your friend wins.
2. You remove 2 stones. Your friend removes 2 stones, including the last stone. Your friend wins.
3. You remove 3 stones. Your friend removes the last stone. Your friend wins.
In all outcomes, your friend wins.
Example 2:
Input: n = 1
Output: true
Example 3:
Input: n = 2
Output: true
3. Constraints
- 1 <= n <= 231 - 1
4. References
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/nim-game 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
5. Solutions
如果数是4的余数必输
class Solution {
public boolean canWinNim(int n) {
return n % 4 != 0;
}
}